package fem2;

/**
 * interface of all classes act on element flow with standard strategy (material
 * model, cohesive law)
 * 
 * @author hbui
 * 
 */
public interface StrategyPart {
	/**
	 * initialize material model on the element
	 * 
	 * @param e
	 */
	public void Initialize(Element e);

	/**
	 * initialize before solution step for the element
	 * 
	 * @param e
	 */
	public void InitializeSolutionStep(Element e);

	/**
	 * initialize before nonlinear iteration for the element
	 * 
	 * @param e
	 */
	public void InitalizeNonlinearIteration(Element e);

	/**
	 * finalize nonlinear iteration for the element
	 * 
	 * @param e
	 */
	public void FinalizeNonlinearIteration(Element e);

	/**
	 * finalize after solution step for the element
	 * 
	 * @param e
	 */
	public void FinalizeSolutionStep(Element e);

	/**
	 * TODO
	 * 
	 * @param e
	 */
	public void CalculateOutputData(Element e);
}
